﻿using NP.BPMReportPlatform.Finance;
using NP.BPMReportPlatform.HR.Dto;
using NP.BPMReportPlatform.SystemSettings.Dto;
using System.Threading.Tasks;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services;

namespace NP.BPMReportPlatform.SystemSettings
{
    /// <summary>
    /// KeyValues字典表 配置接口
    /// </summary>
    public interface IKeyValuesConfigurationAppService : IApplicationService
    {
        /// <summary>
        /// 查询数据
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        Task<PagedResultDto<KeyValuesConfigurationOutput>> GetAllAsync(KeyValuesConfigurationInput input);

        /// <summary>
        /// 保存配置
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        Task SaveAsync(SaveKeyValuesConfigurationInput input);

        /// <summary>
        /// 删除配置
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        Task DeleteAsync(string id);

        /// <summary>
        /// 批量导入
        /// </summary>
        /// <param name="bytes"></param>
        /// <returns></returns>
        Task<ImportResultExt<ImportKeyValuesTemplate>> ImporterExcel(byte[] bytes);
    }
}
